<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition
    template="/plantillas/defaultTemplate.xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"                
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.prime.com.tr/ui"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:i="http://java.sun.com/jsf/composite/components/presentacion" 
    xmlns:d="http://java.sun.com/jsf/composite/components/dialogo" >

    <ui:define name="titulo">
        <h:outputText value="Informaci&oacute;n de Pagos"/>
    </ui:define>

    <ui:define name="dialogos" >
        <p:dialog widgetVar="dlgEmpleados" header="Listado general de Empleados" showEffect="fold" hideEffect="fold" width="725" height="460" >

            <table style="width: 100%" >
                <tr>
                    <td style="width: 5%;" >
                        <p:graphicImage value="/resources/imagenes/64/meeting-participant.png" />   
                    </td>
                    <td>
                        <h:outputLabel id="lbl1" value="Seleccione un empleado"  style="font-weight: bold;"/>
                    </td>
                </tr>
            </table>

            <p:dataTable id="listadoEmpleados" value="#{planilla$informacionPagos.listaPlanillas}" var="planilla" 
                         paginator="true" rows="5"  emptyMessage="No se han encontrado Empleados." dynamic="true" 
                         paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
                         rowsPerPageTemplate="5,10,25,50,100" style="margin-top: 20px;" >

                <f:facet name="header">
                    Empleados
                </f:facet>

                <p:column headerText="C&#243;digo" style="width: 8%" filterBy="#{planilla.empleados.empleadosPK.codEmp}" filterMatchMode="contains" >  
                    <h:outputLabel value="#{planilla.empleados.empleadosPK.codEmp}" />
                </p:column>  

                <p:column headerText="Nombre " filterBy="#{planilla.empleados.nombreCompleto}" filterMatchMode="contains" >  
                    <h:outputLabel value="#{planilla.empleados.nombreCompleto}" />
                </p:column>  

                <p:column style="width: 5%;" >
                    <p:commandButton styleClass="opcionMenu" update="principalForm:mensajes,principalForm:tbIng,principalForm:tbEgr,principalForm:panelDescripcion,principalForm:lblNomEmpleado" oncomplete="dlgEmpleados.hide();" action="#{planilla$informacionPagos.selectEmpleado$Action}" image="ui-icon-circle-check" title="Seleccionar empleado" >
                        <f:setPropertyActionListener value="#{planilla}" target="#{planilla$informacionPagos.planillaSeleccionada}" /> 
                    </p:commandButton>
                </p:column>

            </p:dataTable>

            <p:spacer height="15" />
            <h:panelGrid columns="2">
                <p:commandButton value="Cancelar" styleClass="opcionMenu" update="principalForm:mensajes,tbIng,tbEgr,panelDescripcion,principalForm:lblNomEmpleado" oncomplete="dlgEmpleados.hide();" action="#{planilla$informacionPagos.cancelSelectEmpleado$Action}" image="ui-icon-circle-check" /> 
            </h:panelGrid>

        </p:dialog>

    </ui:define>

    <ui:define name="acciones">
        <p:tab title="Otras acciones">
            <h:panelGrid columns="1">
                <p:commandLink styleClass="opcionMenu textoNormal" ajax="true" action="#{planilla$informacionPagos.inicio$action}" update="principalForm:mensajes" onmouseover="this.className='opcionMenu textonegrita';" onmouseout="this.className='opcionMenu textonormal';">
                    <p:graphicImage value="/resources/iconos/application-exit.png"/>
                    <h:outputText value="Cancelar" styleClass="espacioTexto"/>
                </p:commandLink>
            </h:panelGrid>
        </p:tab>
    </ui:define>

    <ui:define name="contenido">
        <p:spacer height="15" />
        <p:panel id="panelInformacionPagos" style="border: none;width: 100%;" >
            <h:panelGrid columns="2" >
                <i:etiquetaRequerido value="Tipo de planilla" />
                <h:selectOneMenu id="LstTipoPlanilla" style="height: 25px;padding-top: 3px;width: 300px;" label="Tipo Planilla" value="#{planilla$informacionPagos.tipoPlanilla}" >                       
                    <f:ajax render="panelInformacionPagos listadoEmpleados lblNomEmpleado" event="change" execute="LstTipoPlanilla" listener="#{planilla$informacionPagos.seleccionarTipoPlanilla}" />
                    <f:selectItem itemValue="-1" itemLabel="[ SELECCIONE TIPO PLANILLA ]" />
                    <f:selectItems value="#{planilla$informacionPagos.listaTipos}" var="tipo" itemValue="#{tipo.tiposPlanillaPK.codTipopla}" itemLabel="#{tipo.nomTipopla}"/>
                </h:selectOneMenu>

                <i:etiquetaRequerido value="Programaci&#243;n planilla" />
                <h:panelGroup>
                    <h:panelGrid columns="1">
                        <p:autoComplete id="AutCompltProgPla" forceSelection="true" var="programacionPla" 
                                        value="#{planilla$informacionPagos.proPlaSeleccionada}"
                                        itemValue="#{programacionPla.pkAsString}" itemLabel="#{programacionPla.stringProgramacionPla}"
                                        completeMethod="#{planilla$informacionPagos.completeProgramacionPla}"
                                        converter="#{planilla$informacionPagos.programacionPlaConverter}" 
                                        onSelectUpdate="panelDescripcion,panelInformacionPagos,principalForm:listadoEmpleados" >
                            <f:ajax render="principalForm:listadoEmpleados" event="change" execute="AutCompltProgPla" />
                        </p:autoComplete>
                        <i:etiquetaPlanilla />
                    </h:panelGrid>
                </h:panelGroup>
                <i:etiquetaRequerido value="Empleado" />
                <h:panelGrid columns="2">
                    <h:outputLabel id="lblNomEmpleado" value="#{planilla$informacionPagos.planillaSeleccionada.empleados.nombreCompleto}" />
                    <p:commandLink styleClass="opcionMenu" update="principalForm:listadoEmpleados" oncomplete="dlgEmpleados.show();" style="color:blue">
                        <p:graphicImage value="/resources/iconos/personal.png"/>
                        <h:outputText value="Seleccionar" styleClass="espacioTexto" />
                    </p:commandLink>
                </h:panelGrid>


            </h:panelGrid>
            <p:spacer height="10"/>
            <table width="100%" border="0">
                <tr valign="top">
                    <td width="50%">
                        <p:dataTable emptyMessage="No se han encontrado Ingresos" value="#{planilla$informacionPagos.listaPrestaciones}" var="ingreso" id="tbIng">
                            <f:facet name="header">
                                <h:outputText value="Ingresos"/>
                            </f:facet>
                            <p:column headerText="Descripci&oacute;n">
                                <h:outputText value="#{ingreso.deducPresta.desDp}"/>
                                <f:facet name="footer" >
                                    <h:outputLabel value="Total" />
                                </f:facet>
                            </p:column>
                            <p:column headerText="Cantidad" style="text-align: right">
                                <h:outputText value="#{ingreso.valor}">
                                    <f:convertNumber pattern="#,##0.00" maxFractionDigits="2"/>
                                </h:outputText>
                                <f:facet name="footer" >
                                    <h:outputLabel value="#{planilla$informacionPagos.totalPrestaciones}" >
                                        <f:convertNumber pattern="#,##0.00" maxFractionDigits="2"/>
                                    </h:outputLabel>
                                </f:facet>
                            </p:column>
                        </p:dataTable>
                    </td>
                    <td width="50%">
                        <p:dataTable emptyMessage="No se han encontrado Egresos" value="#{planilla$informacionPagos.listaDeducciones}" var="egreso" id="tbEgr">
                            <f:facet name="header">
                                <h:outputText value="Egresos"/>
                            </f:facet>
                            <p:column headerText="Descripci&oacute;n">
                                <h:outputText value="#{egreso.deducPresta.desDp}"/>
                                <f:facet name="footer" >
                                    <h:outputLabel value="Total" />
                                </f:facet>
                            </p:column>
                            <p:column headerText="Cantidad" style="text-align: right">
                                <h:outputText value="#{egreso.valor}">
                                    <f:convertNumber pattern="#,##0.00" maxFractionDigits="2" />
                                </h:outputText>
                                <f:facet name="footer" >
                                    <h:outputLabel value="#{planilla$informacionPagos.totalDeducciones}" >
                                        <f:convertNumber pattern="#,##0.00" maxFractionDigits="2"/>
                                    </h:outputLabel>
                                </f:facet>
                            </p:column>
                        </p:dataTable>
                    </td>
                </tr>
            </table>
        </p:panel>
    </ui:define>
</ui:composition>